以下代码片段是从其他Cad移植过来的,框架使用的是NetFrame 4.7.2。
在中望CAD 2025可正常运行,2022、2023、2024都报同样的错误,报错位置在语句:acPlSet = (PlotSettings)acTrans.GetObject(acPlSetId, OpenMode.ForWrite,false);
ObjectId acPlSetId = acPlSetDic.GetAt(pageSetupName);
bool bModel = acLayout.ModelType;
PlotSettings acPlSet = null;
if (acPlSetId.ObjectClass == RXObject.GetClass(typeof(PlotSettings)))
{
acPlSet = (PlotSettings)acTrans.GetObject(acPlSetId, OpenMode.ForWrite,false);
}
System.InvalidCastException: ‘无法将类型为“ZwSoft.ZwCAD.DatabaseServices.ImpDBObject”的对象强制转换为类型“ZwSoft.ZwCAD.DatabaseServices.PlotSettings”。’
按理已经经过if语句的类型判断了,应该不会出现类型转换错误,想不明白。断断续续搞10几天也没搞定,请高手支招。